package com.greate.community.service;

import com.greate.community.entity.UserInfo;
import com.greate.community.mapper.UserInfoMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 用户信息统计服务
 * 提供获取和更新用户统计信息的方法
 */
@Service
public class UserInfoService {

    @Autowired
    private UserInfoMapper userInfoMapper;

    /**
     * 获取用户统计信息
     * @return 用户统计信息对象
     */
    public UserInfo getUserInfo() {
        return userInfoMapper.selectUserInfo();
    }

    /**
     * 更新用户统计信息
     * @param userInfo 用户统计信息对象
     * @return 更新结果
     */
    public int updateUserInfo(UserInfo userInfo) {
        return userInfoMapper.updateUserInfo(userInfo);
    }

    /**
     * 增加当前用户量
     * @param count 增加数量
     * @return 更新结果
     */
    public int incrementCurrentUserCount(int count) {
        return userInfoMapper.incrementCurrentUserCount(count);
    }

    /**
     * 增加总用户量
     * @param count 增加数量
     * @return 更新结果
     */
    public int incrementTotalUserCount(int count) {
        return userInfoMapper.incrementTotalUserCount(count);
    }

    /**
     * 增加当前访问量
     * @param count 增加数量
     * @return 更新结果
     */
    public int incrementCurrentVisitCount(int count) {
        return userInfoMapper.incrementCurrentVisitCount(count);
    }

    /**
     * 增加总访问量
     * @param count 增加数量
     * @return 更新结果
     */
    public int incrementTotalVisitCount(int count) {
        return userInfoMapper.incrementTotalVisitCount(count);
    }

    /**
     * 增加当前下载量
     * @param count 增加数量
     * @return 更新结果
     */
    public int incrementCurrentDownloadCount(int count) {
        return userInfoMapper.incrementCurrentDownloadCount(count);
    }

    /**
     * 增加总下载量
     * @param count 增加数量
     * @return 更新结果
     */
    public int incrementTotalDownloadCount(int count) {
        return userInfoMapper.incrementTotalDownloadCount(count);
    }

    /**
     * 增加当前使用量
     * @param count 增加数量
     * @return 更新结果
     */
    public int incrementCurrentUsageCount(int count) {
        return userInfoMapper.incrementCurrentUsageCount(count);
    }

    /**
     * 增加总使用量
     * @param count 增加数量
     * @return 更新结果
     */
    public int incrementTotalUsageCount(int count) {
        return userInfoMapper.incrementTotalUsageCount(count);
    }
}